<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 1.JS延迟加载的方式有哪些？（5）
        // defer
        // 把js代码放后面

        // 2.前端 JavaScript 中的 ECMAScript、DOM、BOM 的含义；（5）
        // ECMAScript
        // DOME
        // BOM

        // 3.JavaScript 的数据类型有哪些？（5）
        // 简单数据类型:Number,String,Boolean,Null,undefined,Symbol
        // 引用数据类型:Object,Array,Function

        // 4.如何进行数据类型的判断？（5）
        // typeof
        // instanceof
        // Object.prototype

        // 5.null 和 undefined 的区别？什么时候会得到 undefined？（5）
        // null 空的值,空的指标
        // undefined 标定义了但没有赋值
        // 定义了一个变量但没有赋值就会得到undefined

        // 6.如何理解 null == undefined 返回 true，null === undefined 返回 false？（5）
        // null和undefined的数据类型不同

        // 7.使用 continue 或 break 终止循环时，两种方式的区别是？（5）
        // continue 
        // break 跳出本次循坏

        // 8.如何判断字符串内是否包含指定字符？（5）
        // indexOf(),lastIndexOf()
        

        // 9.请尽量列举出数组的方法，并且注明哪些方法会修改原数组，哪些不会；（5）
        // 会  pop(),reverse(),push(),unshift(),shift()

        // 不会 join(),slice()


        // 10. 请写出下面语句的输出结果：（5）
        // var bar = true,
        //     number = 0;
        // console.log(bar + 0);       //1
        // console.log(bar + "xyz");   //truexyz
        // console.log(bar + true);    //2
        // console.log(+true);         //1
        // console.log(!'bluej');      //false
        // console.log(number++);      //1
        // console.log(++number);      //1
        // console.log(number);        //0

        // 11. 根据用户输入时间实现倒计时，输入格式错误时要有所提示（5）
        // window.prompt("请输入目标时间");
        



        // 13.把下面数组成员排序打乱；（5）
        // var arr = [10, 20, 30, 40, 50, 60];
        // console.log(arr.reverse());

        // 12.输出从小到大排序好的五个不重复的随机"素数",范围[10-58)；（10）
        // let arr12=[];
        // let num,i;
        // function fn12(min,max){
        //     for(i=1;i<=5;i++){
        //         num=Math.floor(Math.random()*(max-min)+min); 
        //         arr12.push(num);
        //     }
        //     console.log(arr12.sort(arr12[i]));
        // };

        // fn12(10,58);        
        
        // 14. 将多个数组进行去重合并；（10）
        // var arr1 = [1, 2, 3],
        //     arr2 = [2, 3, 4, 5];
        // let arr3=arr1.concat(arr2);
        // let arr4=[];
        // for(let i=0;i<arr3.length;i++){
        //     if(arr4.indexOf(arr3[i]) == -1){
        //         arr4.push(arr3[i]);
        //     }
        // };
        // console.log(arr4);
        
    
          

        // 15. 找出数组 arr=[1, 2, 3, "melon", 4, "melon", 2, 4, "melon"] 中重复出现过的元素,并用数组将重复元素装起来输出,并且统计每个元素出现的次数（10）
        
            let arr1=[1, 2, 3, "melon", 4, "melon", 2, 4, "melon"] ;
            let arr2=[];
            let b=0;
            arr1.forEach(function(item,index){
               if(arr1.indexOf(item)!=arr1.lastIndexOf(item)){
                   if(!arr2.includes(item)){
                       arr2.push(item);
                   }
               }
           });
            console.log(arr2);




        // 16. 找出数组中年龄小于18岁的女生的信息重新组成新的数组,并且将她们count变为现有的平方（10）
        var arr = [{
                name: "111",
                sex: "boy",
                age: 18,
                count: 20
            },
            {
                name: "222",
                sex: "girl",
                age: 17,
                count: 30
            },
            {
                name: "333",
                sex: "boy",
                age: 16,
                count: 40
            },
            {
                name: "444",
                sex: "girl",
                age: 15,
                count: 50
            },
            {
                name: "555",
                sex: "boy",
                age: 20,
                count: 60
            },
            {
                name: "666",
                sex: "girl",
                age: 13,
                count: 70
            },
            {
                name: "777",
                sex: "boy",
                age: 14,
                count: 80
            }
        ];
        // let arr3;
        // let arr4;
        // let arr16=[];
        // let arr17=[];
        // for(let i=0;i<arr.length;i++){
        //      arr3= arr[i].age;
        //      if(arr3<18){
        //         arr16.push(arr[i]);
        //         arr4=arr[i].count*arr[i].count;
        //         console.log(arr4);
        // }
        // }
        // console.log(arr16);


        let newArr=[];
        arr.forEach(function (item,index){
            if(item.age< 18){
                newArr.push(item);
                item.count=item.count*item.count;
            };
        })
        console.log(newArr);
    

        
        
        
    </script>
</body>

</html>